﻿using ConfExpert.Forms.Aksesuar.Satinalma;
using ConfExpert.Forms.Base;
using DevExpress.XtraBars;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraReports.UI;
using DevExpress.XtraTab;
using DevTeam;
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

namespace ConfExpert.Forms.Depo.Aksesuar
{
    public partial class Master : XForm
    {
        public enum Yetki
        {
            DepoKayit = 1,
            TalepGiris = 2
        }

        //bool Koli = false;
        public Master(string koli)
            : this()
        {
            //this.Koli = true;
            this.Text = "Koli - Kutu";
        }

        public Master()
        {
            InitializeComponent();
        }

        BindingSource bs;
        bool isPlanlama = false;
        bool isDepo = false;
        private void Master_Load(object sender, EventArgs e)
        {
            gvTalepGiris.Init("GetAllAksesuar", MyDept);
            bs = gvTalep.Init("GetAksesuarTalepByUserId2", WhoAmI, cbTumTalepler.Checked);

            gvTalep.AddDetailGrid(gvTalepLinesByUser, "AksesuarCikisTalebiId");
            gvTalep.AddAutoIncrementalPK("AksesuarCikisTalebiId");
            bs.Filter = "ISNULL(stGenelId,0)<>3";

            gvTalepGiris.DataTable().PrimaryKey = new DataColumn[] { gvTalepGiris.DataTable().Columns["AksesuarId"] };

            gvTalep.AddColumn("ToplamCikilan", typeof(int), "SUM(Child({FK}).ToplamCikilan)");
            gvTalep.AddColumn("ToplamTalep", typeof(int), "SUM(Child({FK}).TalepMiktari)");
            gvTalepLinesByUser.AddColumn("KalanMiktar", typeof(int), "TalepMiktari-ISNULL(ToplamCikilan,0)");


            (gvTalep.Columns["KaynakId"].ColumnEdit as RepositoryItemGridLookUpEdit).EditValueChanged += new EventHandler(Master_EditValueChanged);
            gvTalep.Columns["CikisTipi"].ColumnEdit = RI(Rp.HareketTipi);

            gvTalepGiris.Columns["AksesuarId"].ColumnEdit = new RepositoryItemTextEdit();
            gvTalepGiris.Columns["AksesuarId"].OptionsColumn.AllowEdit = false;
            gvTalepGiris.Columns["AksesuarId"].AppearanceCell.BackColor = System.Drawing.Color.LightYellow;

            gvTalepGiris.MakeReadOnly("GirenAdet", "TalepEdilen", "Lokasyon");
            gvTalepGiris.MakeColumnInvisible("GirenAdet", "TalepEdilen");
            gvTalepGiris.SetCaptions("StokKod:Stok Kodu", "Aciklama:Açıklama", "TalepEdilen:Yeni Talep");
            gvTalepGiris.FormatAsNumber(0, "RaftakiMiktar", "ToplamTalep", "TalepEdilen", "GirenAdet", "KullanilabilirMiktar", "ToplamRezerve", "QtyPO");

            gvTalep.FormatAsNumber(0, "ToplamTalep", "ToplamCikilan");
            gvTalep.FormatAsDateTime("OlusturulmaTarihi");
            gvTalep.MakeColumnInvisible("AyrimId");
            gvTalepLinesByUser.FormatAsNumber(0, "KalanMiktar", "ToplamCikilan", "TalepMiktari", "CikilabilirMiktar", "ToplamStok", "QtyPO", "IdleStock");
            gvTalep.SetCaptions("OlusturanId:Talep Eden", "CikanId:Çıkan", "CariId:Cari", "Notes:Notlar");

            gvTalepLinesByUser.MakeReadOnly();
            gvTalepLinesByUser.MakeColumnInvisible("AksesuarCikisTalebiId", "AksesuarCikisTalebiLinesId");
            gvTalepLinesByUser.SetCaptions("Aciklama:Açıklama");

            gvTalepGiris.AddSummary("KullanilabilirMiktar", "TalepEdilen", "ToplamTalep", "RaftakiMiktar", "QtyPO");
            gvTalep.AddSummary("ToplamTalep", "ToplamCikilan");
            gvTalepLinesByUser.AddSummary("TalepMiktari");

            GridManager gm = gvTalepGiris.GetManager();
            gm.GridMenu.AddMenu("Stok Hareketleri", gvListe_DoubleClick);
            gm.GridMenu.AddMenu("Toplu Resim Göster", Buyut);

            gm = gvTalep.GetManager();
            gm.GridMenu.AddMenu("Talebi Sil", DeleteTalep);
            gm.GridMenu.AddMenu("Düğme Boyama Raporu", DugmeBoyamaRaporu);
            gm.GridMenu.AddMenu("Eksikleri Diğer Ayrımlardan Karşıla", EksikleriTamamla);

            gm = GridManager.GetManager(gvTalepLinesByUser);
            gm.GridMenu.AddMenu("Talep Satırını Sil", DeleteTalepLine);

            gvTalep.ShowingEditor += gvTalep_ShowingEditor;
            gvTalepGiris.DoubleClick += gvListe_DoubleClick;
            tab.SelectedPageChanged += tab_SelectedPageChanged;
            gvTalepLinesByUser.RowStyle += gvTalepLines_RowStyle;
            gvTalepGiris.RowCellStyle += gvTalepGiris_RowCellStyle;
            gvTalep.RowCellStyle += gvTalep_RowCellStyle;
            gvTalepLinesByUser.RowCellStyle += gvTalepLinesByUser_RowCellStyle;

            isPlanlama = ytk(59);/*Seda Hörük:bazen çıkış vermesi gerekiyormuş*/ ;
            isDepo = ytk(63);

            if (!isDepo)
                gvTalepGiris.MakeColumnInvisible("Lokasyon");

            string[] islemler = new string[] { "" };
            if (isPlanlama)
                islemler = new string[] { "Satınalma Talebi Oluştur" };
            else if (isDepo)
                islemler = new string[] { "Satınalma Talebi Oluştur", "Giriş Yap" };

            RepositoryItemGridLookUpEdit ri = GetCustomRI("İşlem", true, islemler);
            ddIslemler.Edit.Assign(ri);

            TabPageChanged();

            if (isPlanlama)
                ddIslemler.EditValue = 1;
            else if (isDepo)
                ddIslemler.EditValue = 2;

            gvTalepGiris.SetFilterTypeToCheckedList("StokKod");
            splitContainerControl1.AutoSize();
            BestFitColumnsForThisForm();
        }

        private void EksikleriTamamla(object sender, EventArgs e)
        {
            int AksesuarCikisTalebiId = gvTalep.GetFocusedRowCellValue("AksesuarCikisTalebiId").ToInt();
            int stGenelId = gvTalep.GetFocusedRowCellValue("stGenelId").ToInt();
            int BrandId = gvTalep.GetFocusedRowCellValue("BrandId").ToInt();
            int SezonId = gvTalep.GetFocusedRowCellValue("SezonId").ToInt();
            string OrderRef = gvTalep.GetFocusedRowCellValue("OrderRef").ToStr();

            if (stGenelId == 1)
            {
                using (AksesuarCikisTransfer ay = new AksesuarCikisTransfer(AksesuarCikisTalebiId, BrandId, SezonId, OrderRef))
                {
                    if (ay.ShowDialog() == DialogResult.OK)
                    {
                        gvTalep.RefreshDataSource(true, "GetAksesuarTalepByUserId2", WhoAmI, cbTumTalepler.Checked);
                        ShowInfoMessage("Çıkılabilir miktarlar güncellendi !");
                    }
                }
            }
            else
                ShowErrorMessage("Kapatılmış bir çıkış talebine transfer yapamazsınız !");
        }

        private void CompleteAllMissingQty(object sender, EventArgs e)
        {
            int AksesuarCikisTalebiId = gvTalep.GetFocusedRowCellValue("AksesuarCikisTalebiId").ToInt();
            DataTable dt = ExecuteDataTable("UpdAksesuarAyrimByCikisTalebi", AksesuarCikisTalebiId, WhoAmI);

            if (dt.Rows.Count > 0)
            {
                string StokKodlari = dt.GetValuesofSpecifiedColumn("StokKod", "\n");
                gvTalep.RefreshDataSource(true, "GetAksesuarTalepByUserId2", WhoAmI, cbTumTalepler.Checked);
                ShowInfoMessage("Aşağıdaki aksesuarların çıkılabilir adetleri güncellenmiştir : \n\n" + StokKodlari);
            }
            else
                ShowInfoMessage("Çıkış adetleri güncellenecek aksesuar bulunamadı");
        }

        private void CompleteMissingQty(object sender, EventArgs e)
        {
            string AksesuarCikisTalebiLinesIds = gvTalepLinesByUser.GetSelectedValues("AksesuarCikisTalebiLinesId");
            DataTable dt = ExecuteDataTable("UpdAksesuarAyrimByCikisTalebiLines", AksesuarCikisTalebiLinesIds, WhoAmI);

            if (dt.Rows.Count > 0)
            {
                string StokKodlari = dt.GetValuesofSpecifiedColumn("StokKod", "\n");
                gvTalep.RefreshDataSource(true, "GetAksesuarTalepByUserId2", WhoAmI, cbTumTalepler.Checked);
                ShowInfoMessage("Aşağıdaki aksesuarların çıkılabilir adetleri güncellenmiştir : \n\n" + StokKodlari);
            }
            else
                ShowInfoMessage("Çıkılabilir adetleri güncellenecek aksesuar bulunamadı");
        }

        private void Buyut(object sender, EventArgs e)
        {
            string idxs = gvTalepGiris.GetSelectedValues("AksesuarId");
            using (Resimler rs = new Resimler(idxs))
                rs.ShowDialog();
        }

        private void DugmeBoyamaRaporu(object sender, EventArgs e)
        {
            int CikisTalebi = gvTalep.GetFocusedRowCellValue("AksesuarCikisTalebiId").ToInt();
            int BrandId = gvTalep.GetFocusedRowCellValue("BrandId").ToInt();
            if (CikisTalebi > 0)
            {
                Rapor.Aksesuar.xrDugmeBoyamaRaporu aks = new Rapor.Aksesuar.xrDugmeBoyamaRaporu(CikisTalebi, BrandId, "GetDugmeBoyamaRaporu");
                aks.ShowPreviewDialog();
            }
        }

        private void DeleteTalepLine(object sender, EventArgs e)
        {
            int CikilanAdet = gvTalepLinesByUser.GetFocusedRowCellValue("ToplamCikilan").ToInt();
            string Boyama = gvTalepLinesByUser.GetFocusedRowCellValue("BoyamaDurumu").ToStr();

            if (CikilanAdet == 0 && (Boyama == "Boyanacak" || Boyama == ""))
            {
                string StokKod = gvTalepLinesByUser.GetFocusedRowCellDisplayText("AksesuarId");
                if (XtraMessageBox.Show(StokKod + " kodlu talep satırını silmek üzeresiniz! Emin misiniz?", "Uyarı", MessageBoxButtons.YesNo) == DialogResult.No)
                    return;
                else
                {
                    int TalepLine = gvTalepLinesByUser.GetFocusedRowCellValue("AksesuarCikisTalebiLinesId").ToInt();
                    ExecuteNonQuery("delAksesuarTalepLines", TalepLine, WhoAmI);
                    gvTalepLinesByUser.DeleteRow(gvTalepLinesByUser.FocusedRowHandle);
                    Notify("Silme işlemi tamamlandı.");
                }
            }
            else if (CikilanAdet > 0)
                XtraMessageBox.Show("Silmek istediğiniz aksesuardan çıkış yapılmış. Silme işlemi başarısız !");
            else
                XtraMessageBox.Show("Silmek istediğiniz aksesuar " + Boyama.ToLower() + ". Silme işlemi başarısız !");
        }

        void gvTalepLinesByUser_RowCellStyle(object sender, RowCellStyleEventArgs e)
        {
            if (e.RowHandle > -1)
            {
                string Boyama = gvTalepLinesByUser.GetRowCellValue(e.RowHandle, "BoyamaDurumu").ToStr();
                switch (e.Column.FieldName)
                {
                    case "BoyamaDurumu":
                        if (Boyama != "")
                            e.Appearance.BackColor = e.Appearance.BackColor2 = Color.SkyBlue;   //LightGray;
                        else
                            e.Appearance.Combine((e.RowHandle & 1) != 0 ? gvTalepLinesByUser.Appearance.EvenRow : gvTalepLinesByUser.Appearance.OddRow);
                        return;
                }
            }
        }

        void gvTalep_RowCellStyle(object sender, RowCellStyleEventArgs e)
        {
            if (e.RowHandle > -1)
            {
                int Boyama = gvTalep.GetRowCellValue(e.RowHandle, "Boyama").ToInt();
                switch (e.Column.FieldName)
                {
                    case "AksesuarCikisTalebiId":
                        if (Boyama != 0)
                            e.Appearance.BackColor = e.Appearance.BackColor2 = Color.SkyBlue;   //LightGray;
                        else
                            e.Appearance.Combine((e.RowHandle & 1) != 0 ? gvTalep.Appearance.EvenRow : gvTalep.Appearance.OddRow);
                        return;
                }
            }
        }

        private void ResimGoster(object sender, EventArgs e)
        {
            string ids = gvTalepGiris.GetSelectedValues("AksesuarId");
            using (Sec ke = new Sec(ids))
                ke.ShowDialog();
        }

        void gvTalepGiris_RowCellStyle(object sender, RowCellStyleEventArgs e)
        {
            if (e.RowHandle < 0)
                return;

            if (e.Column.FieldName == "KullanilabilirMiktar")
            {
                e.Appearance.Font = new Font(e.Appearance.Font, FontStyle.Bold);
                e.Appearance.BackColor = Color.White;
                if (e.CellValue.ToBigInt(-1) < 0)
                    e.Appearance.ForeColor = Color.Red;
                else
                    e.Appearance.ForeColor = Color.Green;

            }
            else if ("GirenAdet TalepEdilen Lokasyon".Contains(e.Column.FieldName))
            {
                e.Appearance.BackColor = Color.LightGoldenrodYellow;
                e.Appearance.FontStyleDelta = FontStyle.Bold;
            }


            if (e.CellValue == DBNull.Value && (
               e.Column.FieldName == "Mt" ||
               e.Column.FieldName == "BrandId"
               ))
                e.Appearance.BackColor = System.Drawing.Color.Gold;
        }

        void Master_EditValueChanged(object sender, EventArgs e)
        {
            gvTalep.CloseEditor();
            gvTalep.SetFocusedRowCellValue("CariId", null);
        }

        private void BestFitColumnsForThisForm()
        {
            gvTalepLinesByUser.OptionsView.EnableAppearanceOddRow =
            gvTalepLinesByUser.OptionsView.EnableAppearanceEvenRow = false;
            gvTalep.SetCaptions("AksesuarCikisTalebiId:CikisTalebi");
            gvTalepGiris.BestFitColumns();
            gvTalep.BestFitColumns();
            gvTalepLinesByUser.BestFitColumns();
            gvTalep.Columns["DosyaNo"].Width = 100;
        }

        void gvTalepLines_RowStyle(object sender, RowStyleEventArgs e)
        {
            GridView view = sender as GridView;
            if (e.RowHandle > -1)
            {
                int qty = view.GetRowCellValue(e.RowHandle, "KalanMiktar").ToInt();
                int cikilabilir = view.GetRowCellValue(e.RowHandle, "CikilabilirMiktar").ToInt();

                if (cikilabilir < qty)
                    e.Appearance.BackColor = e.Appearance.BackColor2 = Color.LightPink;
                else
                    e.Appearance.Combine((e.RowHandle & 1) != 0 ? gvTalepLinesByUser.Appearance.EvenRow : gvTalepLinesByUser.Appearance.OddRow);
            }
        }

        void gvTalep_ShowingEditor(object sender, CancelEventArgs e)
        {
            DataRow dr = gvTalep.GetDataRow(gvTalep.FocusedRowHandle);
            if (intParse(dr["stGenelId"]) == 1)
                e.Cancel =
                    gvTalep.FocusedColumn.FieldName != "KaynakId" &&
                    gvTalep.FocusedColumn.FieldName != "CariId";
            else
                e.Cancel = true;
        }

        void DeleteTalep(object sender, EventArgs e)
        {
            DataRow dr = gvTalep.GetDataRow(gvTalep.FocusedRowHandle);
            if (intParse(dr["stGenelId"]) == 1)
            {
                int TalepId = intParse(dr["AksesuarCikisTalebiId"]);
                int CountCikilan = gvTalepLinesByUser.DataTable().Select("ToplamCikilan > 0 and AksesuarCikisTalebiId =" + TalepId).Length;
                if (CountCikilan > 0)
                {
                    ShowErrorMessage(TalepId + " numaralı talebinizde çıkılmış aksesuarlar var. Bu talebi iptal edemezsiniz !");
                    return;
                }

                if (XtraMessageBox.Show(TalepId.ToString() + " numaralı talebi silmek üzeresiniz! Emin misiniz?", "Uyarı", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    DataTable delRow = ExecuteDataTable("delAksesuarTalep", TalepId, WhoAmI);
                    gvTalep.DataTable().Merge(delRow);
                    Notify("Silme işlemi tamamlandı.");
                }
            }
            else XtraMessageBox.Show("Silmek istediğiniz talep çıkılmış. Silemezsiniz!");
        }

        void gvListe_DoubleClick(object sender, EventArgs e)
        {
            int handle = gvTalepGiris.FocusedRowHandle;

            if (handle > -1)
            {
                int AksesuarId = intParse(gvTalepGiris.GetRowCellValue(handle, "AksesuarId"));
                using (AksesuarHareketGC ah = new AksesuarHareketGC(AksesuarId, null, null))
                    ah.ShowDialog();
            }
        }

        void UpdateChangedRows(string changes)
        {
            gvTalepGiris.RefreshDataSource(false, "GetChangedAksesuarByCikis", changes);
            gvTalep.RefreshDataSource(true, "GetAksesuarTalepByUserId2", WhoAmI, cbTumTalepler.Checked);
            BestFitColumnsForThisForm();
        }

        private void bbiSave_ItemClick(object sender, ItemClickEventArgs e)
        {
            gvTalep.EndEditing();
            gvTalepLinesByUser.EndEditing();
            gvTalepGiris.EndEditing();

            gvTalep.Update("AksesuarCikisTalebiId,KaynakId,CariId,BrandId,SezonId", "AksesuarCikisTalebi");
            if (isDepo && tab.SelectedTabPage == tpStoklar)
            {
                if (gvTalepGiris.DataTable().HasChanged())
                {
                    string Xml = gvTalepGiris.SerializeChanges();
                    ExecuteNonQuery("UpdAksesuarLokasyon", Xml);
                }
            }
            BestFitColumnsForThisForm();
        }

        private void bbiRefresh_ItemClick(object sender, ItemClickEventArgs e)
        {
            gvTalepGiris.RefreshDataSource("GetAllAksesuar", MyDept);
            gvTalep.RefreshDataSource(true, "GetAksesuarTalepByUserId2", WhoAmI, cbTumTalepler.Checked);
            BestFitColumnsForThisForm();
        }

        private void cbTumTalepler_CheckedChanged(object sender, ItemClickEventArgs e)
        {
            bs.Filter = cbTumTalepler.Checked ? string.Empty : "ISNULL(stGenelId,0)<>3";

            gvTalep.RefreshDataSource(true, "GetAksesuarTalepByUserId2", WhoAmI, cbTumTalepler.Checked);
            BestFitColumnsForThisForm();
        }

        private void bbiNewRequest_ItemClick(object sender, ItemClickEventArgs e)
        {
            gvTalepGiris.EndEditing();
            int TalepEdilenAksesuar = gvTalepGiris.DataTable().Select("ISNULL(TalepEdilen,0)>0").Length;

            if (TalepEdilenAksesuar == 0)
            {
                XtraMessageBox.Show("Lütfen talep ettiğiniz aksesuarların miktarını giriniz !");
                return;
            }

            string changes = gvTalepGiris.SerializeChanges();
            if (ddIslemler.EditValue.ToInt() == 1)
            {
                DataTable eksikAksesuar = gvTalepGiris.DataTable().Select("ISNULL(TalepEdilen,0)>0").CopyToDataTable();
                eksikAksesuar.Columns.Add("EksikMiktar", typeof(decimal));

                using (Talep ast = new Talep(eksikAksesuar, 0, 0, "", true))
                    if (ast.ShowDialog() == DialogResult.OK)
                    {
                        UpdateChangedRows(changes);
                        string AksPOId = ast.POIds;
                        Rapor.Aksesuar.xrAksesuarSiparisFoy asf = new Rapor.Aksesuar.xrAksesuarSiparisFoy(AksPOId, "GetAksesuarSiparisFoyu", "AksPOId");
                        asf.ShowPreview();
                    }
            }
        }

        /*private void bbiAddToRequest_ItemClick(object sender, ItemClickEventArgs e)
        {
            gvTalepGiris.EndEditing();
            if (txtAddToRequest.EditValue.ToStr() == "")
            {
                XtraMessageBox.Show("Lütfen aksesuar eklemek istediğiniz talep numarasını giriniz !");
                return;
            }
            if (gvTalepGiris.DataTable().Select("ISNULL(TalepEdilen,0)>0").Length == 0)
            {
                XtraMessageBox.Show("Lütfen eklemek istediğiniz aksesuarların miktarını giriniz !");
                return;
            }

            if (ddIslemler.EditValue.ToInt() == 1)
            {
                string RequestNumber = txtAddToRequest.EditValue.ToStr();
                DataRow[] arr = gvTalep.DataTable().Select("AksesuarCikisTalebiId =" + RequestNumber);
                if (arr.Length == 0)
                {
                    XtraMessageBox.Show(RequestNumber + " nolu talep başka bir planlamacı tarafından oluşturulmuştur. Bu talebe ekleme yapamazsınız !");
                    return;
                }
                if (arr[0]["stGenelId"].ToString() == "2")
                {
                    XtraMessageBox.Show(RequestNumber + " nolu talep kapanmıştır. Bu talebe ekleme yapamazsınız !");
                    return;
                }

                foreach (DataRow z in gvTalepGiris.DataTable().Select("AksesuarId is null"))
                    gvTalepGiris.DataTable().Rows.Remove(z);

                string changes = gvTalepGiris.SerializeChanges();

                if (Convert.ToBoolean(ExecuteScalar("CheckAksCikis", changes, WhoAmI)) == false)
                {
                    XtraMessageBox.Show("Sadece kendi müşterileriniz ve Karbel depodaki aksesuarlar için çıkış talebinde bulunabilirsiniz.");
                    return;
                }

                ExecuteNonQuery("insTalepSatiri", changes, WhoAmI, RequestNumber.ToInt());
                txtAddToRequest.EditValue = "";
                UpdateChangedRows(changes);
                XtraMessageBox.Show("Ekleme işlemi tamamlandı.");
            }
            else if (ddIslemler.EditValue.ToInt() == 2)
            {

            }
        }*/

        private void bbiStokGir_ItemClick(object sender, ItemClickEventArgs e)
        {
            gvTalepGiris.EndEditing();
            if (gvTalepGiris.DataTable().Select("ISNULL(GirenAdet,0)>0").Length == 0)
            {
                XtraMessageBox.Show("Lütfen girişini yapmak istediğiniz aksesuarların miktarını giriniz !");
                return;
            }

            foreach (DataRow z in gvTalepGiris.DataTable().Select("AksesuarId is null"))
                gvTalepGiris.DataTable().Rows.Remove(z);

            string changes = gvTalepGiris.SerializeChanges();
            using (GirisPartisi ag = new GirisPartisi(changes))
            {
                if (ag.ShowDialog() == DialogResult.OK)
                {
                    UpdateChangedRows(changes);
                    XtraMessageBox.Show("Giriş işlemi tamamlandı.");
                }
            }
        }

        void tab_SelectedPageChanged(object sender, TabPageChangedEventArgs e)
        {
            TabPageChanged();
        }

        private void TabPageChanged()
        {
            if (isDepo || isPlanlama)
                if (tab.SelectedTabPage == tpTaleplerim)
                {
                    cbTumTalepler.Visibility = bbiSave.Visibility = BarItemVisibility.Always;
                    bbiNewRequest.Visibility = bbiStokGir.Visibility = ddIslemler.Visibility = BarItemVisibility.Never;
                }
                else
                {

                    cbTumTalepler.Visibility = BarItemVisibility.Never;
                    bbiSave.Visibility = isDepo ? BarItemVisibility.Always : BarItemVisibility.Never;
                    bbiNewRequest.Visibility = ddIslemler.Visibility = BarItemVisibility.Always;
                    SetButtonsVisible();
                }
        }

        private void ddIslemler_EditValueChanged(object sender, EventArgs e)
        {
            SetButtonsVisible();
        }

        private void SetButtonsVisible()
        {
            gvTalepGiris.SetCaptions("GirenAdet:GirenAdet");
            bbiStokGir.Caption = "Giriş Yap";

            switch (ddIslemler.EditValue.ToInt())
            {
                //Depo
                case 2: //Giriş Yap  
                    gvTalepGiris.Columns["TalepEdilen"].Visible = false;
                    gvTalepGiris.Columns["GirenAdet"].Visible = true;
                    bbiStokGir.Visibility = BarItemVisibility.Always;
                    bbiNewRequest.Visibility = BarItemVisibility.Never;

                    if (ddIslemler.EditValue.ToInt() > 3)
                    {
                        gvTalepGiris.SetCaptions("GirenAdet:" + (ddIslemler.EditValue.ToInt() == 4 ? "FazlaAdet" : "EksikAdet"));
                        bbiStokGir.Caption = "Kaydet";
                    }
                    break;

                //Planlama
                case 1: //Satınalma Talep Oluştur
                    gvTalepGiris.Columns["TalepEdilen"].Visible = true;
                    gvTalepGiris.Columns["GirenAdet"].Visible = false;
                    bbiStokGir.Visibility = BarItemVisibility.Never;
                    bbiNewRequest.Visibility = BarItemVisibility.Always;
                    break;
            }
        }
    }
}
